package com.aliyun.sms.sdk.api.request;

/**
 * @Author： yu.Tan
 * @Date: 2020/11/27 14:18
 * @Description: 调用SendSms发送短信。
 * SendSms接口是短信发送接口，支持在一次请求中向多个不同的手机号码发送同样内容的短信。
 * 如果您需要在一次请求中分别向多个不同的手机号码发送不同签名和模版内容的短信，请使用SendBatchSms接口。
 * 调用该接口发送短信时，请注意：
 * 发送短信会根据发送量计费，价格请参考计费说明。
 * 在一次请求中，最多可以向1000个手机号码发送同样内容的短信。
 */
public class SendSmsRequest {

    /**
     * 收短信的手机号码。
     * 格式：
     * 国内短信：11位手机号码，例如15951955195。
     * 国际/港澳台消息：国际区号+号码，例如85200000000。
     * 支持对多个手机号码发送短信，手机号码之间以英文逗号（,）分隔。上限为1000个手机号码。批量调用相对于单条调用及时性稍有延迟。
     * 说明 验证码类型短信，建议使用单独发送的方式。
     * <p>
     * 是否必选：是
     * 示例：15900000000
     */
    private String phoneNumbers;

    /**
     * 短信签名名称。请在控制台签名管理页面签名名称一列查看。
     * 说明 必须是已添加、并通过审核的短信签名。
     * 是否必选：是
     * 示例：阿里云
     */
    private String signName;

    /**
     * 短信模板ID。请在控制台模板管理页面模板CODE一列查看。
     * 说明 必须是已添加、并通过审核的短信签名；且发送国际/港澳台消息时，请使用国际/港澳台短信模版。
     * 是否必选：是
     * 示例：SMS_153055065
     */
    private String templateCode;

    /**
     * 主账号AccessKey的ID。
     * 是否必选：否
     * 示例：LTAIP00vvvvvvvvv
     */
    private String accessKeyId;

    /**
     * 系统规定参数。取值：SendSms。
     * 是否必选：否
     * 示例：SendSms
     */
    private String action;

    /**
     * 外部流水扩展字段。
     * 是否必选：否
     * 示例：abcdefgh
     */
    private String outId;

    /**
     * 上行短信扩展码，无特殊需要此字段的用户请忽略此字段。
     * 是否必选：否
     * 示例：90999
     */
    private String smsUpExtendCode;

    /**
     * 短信模板变量对应的实际值，JSON格式。
     * 说明 如果JSON中需要带换行符，请参照标准的JSON协议处理。
     * 是否必选：否
     * 示例：{"code":"1111"}
     */
    private String templateParam;
}
